part of 'use_case.dart';

sealed class StoreApiPurchasedItemUpdateHandlingFailure {}

class ServerStoreApiPurchasedItemUpdateHandlingFailure extends Equatable
    implements StoreApiPurchasedItemUpdateHandlingFailure {
  const ServerStoreApiPurchasedItemUpdateHandlingFailure();

  @override
  List<Object?> get props => [];
}

class NetworkStoreApiPurchasedItemUpdateHandlingFailure extends Equatable
    implements StoreApiPurchasedItemUpdateHandlingFailure {
  const NetworkStoreApiPurchasedItemUpdateHandlingFailure();

  @override
  List<Object?> get props => [];
}

class UnauthorizedStoreApiPurchasedItemUpdateHandlingFailure extends Equatable
    implements StoreApiPurchasedItemUpdateHandlingFailure {
  const UnauthorizedStoreApiPurchasedItemUpdateHandlingFailure({
    required this.user,
    required this.accessCredentials,
  });

  final User? user;
  final AccessCredentials? accessCredentials;

  @override
  List<Object?> get props {
    return [
      user,
      accessCredentials,
    ];
  }
}
